﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- DW6 -->
<head>
<!-- Copyright 2005 Macromedia, Inc. All rights reserved. -->
<title>系统说明与安装手册</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="../css/mm_training.css" type="text/css" />
<style type="text/css">
<!--
.STYLE1 {font-size: 12px}
-->
</style>
</head>
<body bgcolor="#64748B">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr bgcolor="#26354A">
	<td width="15" nowrap="nowrap"><img src="../css/mm_spacer.gif" alt="" width="15" height="1" border="0" /></td>
	<td height="70" colspan="2" nowrap="nowrap" bgcolor="#26354A" class="logo">ABC-DB说明手册</td>
	<td width="25" bgcolor="#26354A">&nbsp;</td>
  </tr>

	<tr bgcolor="#FF6600">
	<td colspan="4"><img src="../css/mm_spacer.gif" alt="" width="1" height="4" border="0" /></td>
	</tr>

	<tr bgcolor="#D3DCE6">
	<td colspan="4"><img src="../css/mm_spacer.gif" alt="" width="1" height="1" border="0" /></td>
	</tr>

	<tr bgcolor="#FFCC00">
	<td width="15" nowrap="nowrap" bgcolor="#FFFF99">&nbsp;</td>
	<td height="24" colspan="2" bgcolor="#FFFF99">
	<table border="0" cellpadding="0" cellspacing="0" id="navigation">
        <tr>
          <td class="navText" align="center" nowrap="nowrap"><a href="../index.html">主页</a></td>
          <td class="navText" align="center" nowrap="nowrap"><a href="requiemention.html">需求规格说明书</a></td>
          <td class="navText" align="center" nowrap="nowrap"><a href="manual.html">系统说明与安装手册</a></td>
          <td class="navText" align="center" nowrap="nowrap"><a href="order.html">系统命令手册</a></td>
          <td class="navText" align="center" nowrap="nowrap"><a href="code.html">设计说明</a></td>
          <td class="navText" align="center" nowrap="nowrap"><a href="exp.html">测试文档</a></td>
          <td class="navText" align="center" nowrap="nowrap"><a href="tutl.html">一个运行实例</a></td>
<td class="navText" align="center" nowrap="nowrap"><a href="need-imp.html">不足之处</a></td>
        </tr>
      </table>	</td>
	<td width="25" bgcolor="#FFFF99">&nbsp;</td>
  </tr>

	<tr bgcolor="#D3DCE6">
	<td colspan="4"><img src="../css/mm_spacer.gif" alt="" width="1" height="1" border="0" /></td>
	</tr>

	<tr bgcolor="#FF6600">
	<td colspan="4"><img src="../css/mm_spacer.gif" alt="" width="1" height="4" border="0" /></td>
	</tr>

	<tr bgcolor="#D3DCE6">
	<td colspan="4"><img src="../css/mm_spacer.gif" alt="" width="1" height="1" border="0" /></td>
	</tr>

	<tr bgcolor="#D3DCE6">
	<td colspan="3" valign="top"><img src="../css/mm_spacer.gif" alt="" width="35" height="1" border="0" /><br />
	&nbsp;
	<table width="100%" border="0" align="center" cellpadding="2" cellspacing="0">
      <tr>
        <td class="pageName"><div align="center">系统说明与安装手册</div></td>
      </tr>
      <tr>
        <td class="bodyText"><hr>
        
        索引目录:<br />
           1.<a href="#one">系统说明</a><br />
           2.<a href="#two">程序说明</a><br />
           3.<a href="#three">安装说明</a><br />
		<hr>
        
          <h2 align="center" class="STYLE1"><a name="one" id="one"></a>1.系统说明:</h2>
          <span class="STYLE1">1.1.本程序的服务端和客户端均运行在基于UNIX,并遵守POSIX标准的操作系统下,源代码全部使用ANSI C编写,编译安装需要使用标准GNU C编译器.目前已经在以下两个平台上成功运行:<br />
		<span class="STYLE1">
		<ul>
            <li>&nbsp;&nbsp;Ubuntu 10.04,Linux 2.6.32-23-generic</li>
            <li>&nbsp;&nbsp;CentOS-5.5-i386</li>
</ul></span>

          1.2.安装本程序之前,首先要查看系统的共享内存大小限制,大都数操作系统下,在终端下输入 &quot;sysctl -q kernel.shmmax&quot;可查看当前系统的最大共享内存,如果不满足用户的需求,则需要修改此值.<br />
<ul><li>一般来说,可以修改/etc/sysctl.conf文件,在文件末尾添加如下字段"kernel.shmmax=xxx",xxx为您所想要设置的共享内存最大值(单位是字节)。</li></ul>
          1.3.本系统默认数据库、每个数据库的表、每张表的属性数目限制如下:<br>
<ul><li>数据库数目:没有限制.(没有限制是因为系统的设计规定每一时刻只能打开一个数据库)</li>
     <li>每个数据库中的表的数目:默认为20,可以在def_head.h文件中修改NUM_OF_TB常量.</li>
	<li>每张表中的属性数目:默认是20,可以在def_head.h文件中修改NUM_OF_COLU常量.</li></ul>
	1.4.服务端端口默认为9998.(可以在def_head.h文件中修改PORT常量.)<br />
          1.5.系统内数据支持3种类型的数据:字符串、整形和浮点型,字符串使用时需要加双引号””,整形和浮点型不需要.<br>
          1.6.关于同步操作,您需要知道:
<ul>
<li>下文可以得知，将内存中的数据同步保存至磁盘，命令是save.</li>
<li>系统不会自动同步，需要您手动执行.</li>
<li>同步操作是将当前打开的整个数据库全部同步到磁盘，无法单单同步某张表或某列.</li>
</ul>
	  1.7.如果想将磁盘上的某个记录文件导入数据库中某张表,请先保证该文件:
<ul><li>每个记录占一行</li><li>每条记录的各个字段之间有分隔符,系统默认的分隔符是英文逗号(,)，如需修改，请在def_head.h文件中修改SEP常量</li>
<li>请保证文件中的每条记录的字段和欲导入的表的属性项符合，如果不符合，可能产生无法预料的错误.</li></ul>
          </p>
          </span>
          <hr>
          <h2 align="center" class="STYLE1"><a name="two" id="two"></a>2.程序目录说明:</h2>
          <p>
          	<h2 class="STYLE1">树形表示各级目录层次:</h2>
            <p class="STYLE1">
		---- api:	对外接口,详见api说明<br />
              ---- client:	客户端程序<br />
              ---- document:文档目录<br />
			&nbsp;&nbsp;&nbsp;---- lex_yacc:	flex和bison的原文件<br />
              ---- server:	服务端程序目录<br />
 			&nbsp;&nbsp;&nbsp;---- db_files:	数据库磁盘文件存放点<br />
  				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;---- aaa:	数据库aaa的磁盘文件<br />
  				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;---- bbb:	数据库bbb的磁盘文件<br />
  				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...		多数据库目录<br />
            			&nbsp;&nbsp;&nbsp;---- src:	服务端源程序<br />
		---- 并发测试:	一个并发测试的例子</p><br />
            <h2 class="STYLE1">其中,db_files目录的图形表示:</h2>
            <p align="center"><img src="manual_clip_image002.png" alt="" width="642" height="320" />            </p>
              <span class="STYLE1">            </span>            </p>
            <p class="STYLE1">说明:<br />
            a:数据库的数据文件在磁盘上的存放位置默认是在db_files目录下,用户如需修改,可以在def_head.h下修改相应值.<br />
            b:每个数据库自己的字典文件和数据文件存放在db_files目录下的相应目录name中,name是相应数据库的名称,字典文件默认名是dict,每张表中的所有数据存放在一个文件中,以表名.dat为名存放在磁盘.</p>
          <p class="STYLE1">例:如现在有1个数据库,名为library,存放图书馆的相应数据资料,其下有book,order两张表.所以此时的目录结构应该是:</p>
          <p align="center" class="STYLE1">db_files目录 <br />
            |<br />
            |<br />
            library目录 <br />
            |          |         |<br />
            |          |         |<br />
            Dict     book.dat order.dat<br />
            <br />
            </p>
          <p class="STYLE1">其中dict文件是存放数据库整体信息资料,如数据库大小,密码,表信息,每张表的字段信息.<br />
            book.dat文件,存放book表的所有记录,每行为一条记录.<br />
            order.dat文件,存放order表的所有记录.</p>
          <p class="STYLE1">2:client目录:<br />
            本目录下有客户端连接服务端所程序,可放到任意主机.</p>
          <p class="STYLE1">3:api目录:<br />
            本目录有api.c、api.h两个文件，提供链接服务端所需要的接口函数.</p>
          <hr>
          <h3 align="center" class="STYLE1"><a name="three" id="three"></a>3.安装说明:</h3>
          <br />
            <span class="STYLE1">服务端:终端进入server目录后,输入  &quot;make&quot; 命令,程序自动完成安装,安装无误后,server目录下生成可执行文件 &quot;abcdb&quot;,终端下输入 &quot;./abcdb&quot; 即可运行服务端程序.<br />
            客户端:进入client目录后,输入  &quot;make&quot; 即可自动安装,生成  &quot;client&quot;文件,终端下输入  &quot;./client&quot; 即可运行客户端程序(将自动链接到服务端).
            </p>
            </span>
            <p><br />
          </p></td>
      </tr>
    </table>
	<br /> 	<br />	</td>
	<td>&nbsp;</td>
	</tr>

	
</table>
</body>
</html>

